package com.ruoyi.standingbook.toilet.mapper;

import com.ruoyi.common.core.mapper.BaseMapperPlus;
import com.ruoyi.common.domain.vo.StatisticsToiletVo;
import com.ruoyi.standingbook.cleaning.domain.bo.CleaningPicBo;
import com.ruoyi.standingbook.extermination.domain.bo.ExterminationBo;
import com.ruoyi.standingbook.extermination.domain.vo.ExterminationVo;
import com.ruoyi.standingbook.toilet.domain.Toilet;
import com.ruoyi.standingbook.toilet.domain.bo.ToiletBo;
import com.ruoyi.standingbook.toilet.domain.bo.ToiletPicBo;
import com.ruoyi.standingbook.toilet.domain.vo.ToiletFinishedSumVo;
import com.ruoyi.standingbook.toilet.domain.vo.ToiletVo;
import org.apache.ibatis.annotations.Param;

import java.util.List;

/**
 * 市政公厕管养Mapper接口
 *
 * @author cc
 * @date 2023-04-30
 */
public interface ToiletMapper extends BaseMapperPlus<ToiletMapper, Toilet, ToiletVo> {

    /**
     * 统计完成情况数量
     */
    List<StatisticsToiletVo> statisticsStatusNum();

    /**
     * 统计社区列表
     */
    List<StatisticsToiletVo> statisticsCommunityList();

    /**
     * 统计社区厕所数分组列表
     */
    List<StatisticsToiletVo> statisticsToiletNumList(ToiletBo bo);

    /**
     * 统计今天厕所情况分组列表
     */
    List<StatisticsToiletVo> statisticsTodayToiletList();

    /**
     * 统计指定月厕所情况分组列表
     */
    List<StatisticsToiletVo> statisticsMonthToiletList(ToiletBo bo);

    /**
     * 市政公厕管养列表查询
     */
    List<ToiletVo> toiletList(ToiletBo bo);

    List<ToiletPicBo> selectPicByDate(@Param("date") String date, @Param("status") String status);

    Integer selectSumByDate(@Param("date") String date, @Param("community") String community,
                            @Param("status") String status);

}
